得到一份益生菌試吃一週後的問券,不同職業、身高、體重的人食用後的滿意度調查結果。
滿意度 職業 身高 體重
0 8 律師 165 54
1 5 教師 150 90
2 4 美容師 170 58
3 2 醫師 160 53
4 6 律師 158 66
5 8 教師 180 82
6 5 機師 188 85
7 7 醫師 182 75
8 6 護理師 166 56
9 8 護理師 163 55
10 9 護理師 150 48
查看資料詳細資訊
df1.info()
執行結果:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 11 entries, 0 to 10
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 滿意度 11 non-null int64
1 職業 11 non-null object
2 身高 11 non-null int64
3 體重 11 non-null int64
dtypes: int64(3), object(1)
memory usage: 480.0+ bytes
資料大小
df1.shape
執行結果:
(11, 4)
統計數據
df1.describe().T
執行結果:
count mean std min 25% 50% 75% max
滿意度 11.0 6.181818 2.088932 2.0 5.0 6.0 8.0 9.0
身高 11.0 166.545455 12.532866 150.0 159.0 165.0 175.0 188.0
體重 11.0 65.636364 14.813998 48.0 54.5 58.0 78.5 90.0
可使用groupby(),依據職業欄位來查看
A=df.groupby(['職業'])
print(A)
執行結果:
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7baaebbafca0>
並以value_counts()統計欄位資料,以職業分類,查看不同職業的滿意度
B=A['滿意度'].value_counts()
print(B)
執行結果:
職業 滿意度
律師 6 1
8 1
教師 5 1
8 1
機師 5 1
美容師 4 1
護理師 6 1
8 1
9 1
醫師 2 1
7 1
Name: 滿意度, dtype: int64
查看職業為律師的問券回答狀況
A.get_group("律師")
執行結果:
滿意度 職業 身高 體重
0 8 律師 165 54
4 6 律師 158 66
看職業為護理師的問券回答狀況
A.get_group("護理師")
執行結果:
滿意度 職業 身高 體重
8 6 護理師 166 56
9 8 護理師 163 55
10 9 護理師 150 48
查看以職業群組化後的統計數據
C=A['滿意度'].aggregate(['min', 'max', 'mean', 'median'])
print(C)
執行結果:
min max mean median
職業
律師 6 8 7.000000 7.0
教師 5 8 6.500000 6.5
機師 5 5 5.000000 5.0
美容師 4 4 4.000000 4.0
護理師 6 9 7.666667 8.0
醫師 2 7 4.500000 4.5
明天繼續加油囉~